#include<stdio.h>
int l[200];
int zx[200];
int yx[200];
int sum=0;
 int m;
void search(int n){
    if(n==(m+1)){
        sum++;
        return ;
    }
    for(int i=1;i<=m;i++){
        if(!l[i]&&!zx[i-n+m]&&!yx[i+n-2]){
            l[i]=1;
            zx[i-n+m]=1;
            yx[i+n-2]=1;
            search(n+1);
            l[i]=0;
            zx[i-n+m]=0;
            yx[i+n-2]=0;
        }
    }
}
int main(){
    scanf("%d",&m);
    search(1);
    printf("%d",sum);
    return 0;
}